A memristor is a fundamental, two-terminal, circuit element that exhibits variable resistance. Its resistance is a function of the quantity and direction of charge flowing through the device. The memristor remembers the last resistance that it had when the flow of charge stopped, such that when charge begins flowing again, the resistance of the circuit is what it was when it was last active. Among other uses, memristors can be used in non-volatile random access memory (NVRAM) arrays.
Where considered appropriate, reference numerals may be repeated among the drawings to indicate corresponding or analogous elements. Moreover, some of the blocks depicted in the drawings may be combined into a single function.